package com.slidingmenu.example;
import java.util.ArrayList;
import java.util.List;
import android.os.Build;
import android.os.Bundle;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentPagerAdapter;
import android.support.v4.app.FragmentTransaction;
import android.support.v4.app.ListFragment;
import android.support.v4.view.ViewPager;
import android.view.MenuItem;
import android.widget.FrameLayout;
import android.widget.LinearLayout;
import com.slidingmenu.lib.SlidingMenu;
import com.slidingmenu.lib.app.SlidingFragmentActivity;
public class BaseActivity extends SlidingFragmentActivity {
private int mTitleRes;
protected ListFragment mFrag;
public BaseActivity(int titleRes) {
mTitleRes = titleRes;
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setTitle(mTitleRes);
addLeft();
// customize the SlidingMenu
SlidingMenu sm = getSlidingMenu();
sm.setShadowWidthRes(R.dimen.shadow_width);
// customize the ActionBar
if (Build.VERSION.SDK_INT >= 11) {
getActionBar().setDisplayHomeAsUpEnabled(true);
}
}
private void addLeft() {
FrameLayout left = new FrameLayout(this);
left.setId("LEFT".hashCode());
setBehindLeftContentView(left);
getSupportFragmentManager()
.beginTransaction()
.replace("LEFT".hashCode(), new SampleListFragment())
.commit();
SlidingMenu sm = getSlidingMenu();
sm.setShadowDrawable(R.drawable.shadow, SlidingMenu.LEFT);
sm.setBehindOffsetRes(R.dimen.actionbar_home_width, SlidingMenu.LEFT);
}
private void addRight() {
FrameLayout right = new FrameLayout(this);
right.setId("RIGHT".hashCode());
this.setBehindRightContentView(right);
getSupportFragmentManager()
.beginTransaction()
.replace("RIGHT".hashCode(), new SampleListFragment())
.commit();
SlidingMenu sm = getSlidingMenu();
sm.setShadowDrawable(R.drawable.shadow_right, SlidingMenu.RIGHT);
sm.setBehindOffsetRes(R.dimen.actionbar_home_width, SlidingMenu.RIGHT);
}
// @Override
// public void onResume() {
// super.onResume();
// getSlidingMenu().showAbove();
// }
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
toggle(SlidingMenu.LEFT);
return true;
}
return super.onOptionsItemSelected(item);
}
public class PagerAdapter extends FragmentPagerAdapter {
private List<Fragment> mFragments = new ArrayList<Fragment>();
private ViewPager mPager;
public PagerAdapter(FragmentManager fm, ViewPager vp) {
super(fm);
mPager = vp;
mPager.setAdapter(this);
for (int i = 0; i < 3; i++)
addTab(new SampleListFragment());
}
public void addTab(Fragment frag) {
mFragments.add(frag);
}
@Override
public Fragment getItem(int position) {
return mFragments.get(position);
}
@Override
public int getCount() {
return mFragments.size();
}
}
}